package com.um.jdy.ykc.command;

import com.um.jdy.ykc.utils.RadixsUtil;
import lombok.Data;

/**
 * 充电桩登录认证（充电桩->运营平台）
 *
 * @author 甘天伟
 * @since 2022/6/27
 * 版权所有 广州优匠科技有限公司
 */
@Data
public class Cmd01LoginRequest extends YkcCommand {

    /**
     * 桩编码：7个字节
     */
    private String code;

    /**
     * 桩类型：1个字节
     */
    private int type;

    /**
     * 充电桩数量：1个字节
     */
    private int gunNum;

    /**
     * 通信协议版本：1个字节
     */
    private double protocolVersion;

    /**
     * 程序版本：8个字节
     */
    private String version;

    /**
     * 网络链接类型：1个字节
     */
    private int networkType;

    /**
     * Sim 卡：10个字节
     */
    private String simCard;

    /**
     * 运营商：1个字节
     */
    private int operator;

    @Override
    public void parseBytes(byte[] bytes) {
        super.parseBytes(bytes);
        code = RadixsUtil.bytesToHexString(readBytes(data, 0, 7));
        type = RadixsUtil.byteToInteger(data[7]);
        gunNum = RadixsUtil.byteToInteger(data[8]);
        protocolVersion = RadixsUtil.byteToDouble(data[9], 1);
        version = RadixsUtil.bytesToString(trimBytes(readBytes(data, 10, 8)));
        networkType = RadixsUtil.byteToInteger(data[18]);
        simCard = RadixsUtil.bytesToHexString(readBytes(data, 19, 10));
        operator = RadixsUtil.byteToInteger(data[29]);

        code = RadixsUtil.getCode(code);
    }
}
